<template>
  <div class="hello">
    <template>
      <!--
     el-table：是elementUi定义的表格标签
       data：表格的数据来源属性，值就是我们在模型层绑定的数据集合
       border：边框的线
       el-table-column：一个此标签就代表一列
         prop：data中数据集合的每条数据中的某个字段，说白了就是对象的字段名称
         label：列头名称
         width：一个字段有多宽，最后一列一定不要加此属性，加了列表非常丑
   -->
      <el-table
        :data="tableData"
        border
        style="width: 100%">

        <el-table-column
          prop="name"
          label="姓名"
          width="180">
        </el-table-column>
        <el-table-column
          prop="phone"
          label="电话"
          width="180">
        </el-table-column>
        <el-table-column
          prop="email"
          label="邮箱"
          width="180">
        </el-table-column>

        <el-table-column
          prop="address"
          label="地址">
        </el-table-column>

        <el-table-column
          prop="createTime"
          label="日期"
          width="180">
        </el-table-column>
      </el-table>
    </template>
    <!--el-pagination：elementUI提供的分页组件
         background：带背景色
         layout：布局
         total：分页总条数
         align：位置
   -->


 <el-pagination
      background
      layout="sizes,prev, pager, next"
      :total="1000"
      align="right"
      :current-page="currentPage"
      :page-size="pageSize"
      @current-change="goPage"
      :page-sizes="[5, 10, 15, 20]">
    </el-pagination>

  </div>
</template>

<script>
/*写js代码的地方*/
import axios from "axios";

export default {
  name: 'HelloWorld',
  data () {
    return {
      tableData:[],
      currentPage:1,
      pageSize:5,
    }
  },
  /*页面加载的时候就发送ajx请求*/
  mounted() {
   this.list();
  },


  methods:{
    goPage(currentpage){
      this.currentPage=currentpage;
        this.list();
    },

    list(){
      // 在vue中不是直接像jQuery那样 $.请求方式
      // 而是使用的Axios，但是他并不在vue的核心中
      axios.post("/user/list",{"currentPage":this.currentPage,"pageSize":this.pageSize})
        .then(result=>{
          // 给模型层中的表单字段赋值
          this.tableData = result.data.data;
          // 给模型层中的总条数赋值
          this.total = result.data.totals;
        })
        .catch(error=>{
          console.log(error);
          alert("系统繁忙， 请稍后重试！")
        })

    }
  }
}







</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h1, h2 {
  font-weight: normal;
}
ul {
  list-style-type: none;
  padding: 0;
}
li {
  display: inline-block;
  margin: 0 10px;
}
a {
  color: #42b983;
}
</style>
